#ifndef __YUVCONVERSION_H_
#define __YUVCONVERSION_H_

#define FMT_YUYV 0
#define FMT_YVYU 1
#define FMT_UYVY 2
#define FMT_VYUY 3
#define FMT_NV12 4
#define FMT_NV21 5
#define FMT_NONE 0xFF

/*转换查询表的生成函数*/

extern void init_yuv420p_table();

/*
 * 函数名称 : init_yuv422p_table
 * 函数介绍 : 将FMT_YUYV,FMT_YVYU,FMT_UYVY,FMT_VYUY转换成rgb24格式
 * 参数介绍 : 生成查询表格
 */  
extern void init_yuv422p_table(void);

/*
 * 函数名称 : yuv420sp_to_rgb24
 * 函数介绍 : 将FMT_NV12,FMT_NV21转换成rgb24格式
 * 参数介绍 : 生成查询表格
 */
extern void yuv420sp_to_rgb24(int type, unsigned char* yuvbuffer,unsigned char* rgbbuffer, int width,int height);

/*
 * 函数名称 : yuv422packed_to_rgb24
 * 函数介绍 : 将FMT_YUYV,FMT_YVYU,FMT_UYVY,FMT_VYUY转换成rgb24格式
 * 参数介绍 : typr : YUV422的格式
 *          yuv422p : YUV422的数据字节
 *          rgb : 生成的RGB数据字节
 *          width,height : 图片的宽高
 */
extern void yuv422packed_to_rgb24(int type, unsigned char* yuv422p, unsigned char* rgb, int width, int height);

#endif //__YUVCONVERSION_H_